﻿namespace KinonekoSoftware.CodariaDB.Documents.Impressions
{
    [Notion]
    [DebuggerDisplay("{Id}-{Value}")]
    public sealed class Impression : FullObject, INotionParameter, INotion, ICloneable<Impression>
    {
        private string _value;
        
        string INotion.Id   => Id;
        string INotion.Name => Value;

        public Impression Clone() => new Impression
        {
            Id         = Id,
            DocumentID = DocumentID,
            Value      = Value,
        };

        public string DocumentID { get; init; }

        /// <summary>
        /// 获取或设置 <see cref="Value"/> 属性。
        /// </summary>
        public string Value
        {
            get => _value;
            set => SetValue(ref _value, value);
        }

    }
}